package exception;

public class Student {
    private String name;
    private int age;

    public Student(String name, int age) {
        if (name.isEmpty()) {
            throw new NameInitException("姓名未初始化");
        }

        if (age >= 18 && age <= 65) {
            this.name = name;
            this.age = age;
        } else {
            // 当程序需要中断流程时，我们需要主动throw一个异常对象来进行干预！
            // 区别于throws关键字的作用：throws只是声明方法中可能存在异常，
            // 并不是抛出异常的真实位置。而throw是真正抛出异常的地方，它是第一现场。
            throw new AgeException();
        }
    }

    public void sayHello() {
        System.out.println(name + "说你好，我今年" + age + "岁");
    }
}
